/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.Bolao.application.controller.jogos;

import br.com.Bolao.application.controller.BaseController;
import br.com.Bolao.application.dao.apostas.ApostaDAO;
import br.com.Bolao.application.dao.equipes.EquipeDAO;
import br.com.Bolao.application.dao.jogos.JogoDAO;
import br.com.Bolao.application.dao.usuarios.UsuarioDAO;
import br.com.Bolao.model.Aposta;
import br.com.Bolao.model.Jogo;
import br.com.Bolao.model.Usuario;
import java.util.List;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.AutoCreate;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.security.Identity;

/**
 *
 * @author mucceli
 */
@AutoCreate
@Scope(ScopeType.CONVERSATION)
@Name("jogosService")
public class JogosService extends BaseController{

    @In
    private UsuarioDAO usuarioDAO;
    @In
    private ApostaDAO apostaDAO;

    /**
     * Método que sincroniza(cria/salva) as apostas que podem ser feitas pelo usuário.
     * Método é chamado no momento de criação do jogo.
     * @param jogo
     */
    public void sincronizaJogoUsuario(Jogo jogo) {
        try {
            Aposta aposta;
            List<Usuario> listaUsuarios = usuarioDAO.obterTodos();
            for (Usuario usuario : listaUsuarios) {
                aposta = new Aposta();
                aposta.setGolsTime1(null);
                aposta.setGolsTime2(null);
                aposta.setFkUsuario(usuario);
                aposta.setFkJogo(jogo);
                apostaDAO.salvar(aposta);
            }
        } catch (Exception e) {
            adicionarMensagemErro("Não foi possível sincronizar os jogos!\n" + e + "\nEntre em contato com mbsolutions@gmail.com");
        }
    }
}
